23

» WarCraft 3 / Ловкость

Похожие вопросы:

ответ
~8gabriel8:
ClotPh, ну и зачем промах-то отлавливать?
DarkHammer, ну вот карта с триггерами:
давай поясню, что в ней получилось, а что нет. Во-первых, там три триггера для способности, в Иниц. сражения указано, чтобы гном периодически кидал в героя молот для проверки работы защиты от магии. В trigger 000 указано, чтобы триггер защиты от магии активировался после изучения Змеиной ловкости, тут много нюансов. Например, я просто не знаю, что ты хотел, сделать промахи от магии для всех, включая бандитов, либо лишь для одного героя на карте. Также изначально герой может обладать Змеиной ловкостью, в таком случае этот триггер не нужен, его можно убрать и изначально включить trigger 001. Может быть так, что на карте у нескольких героев есть Змеиная ловкость, тогда надо задавать им переменные в этом триггере. Короче, тут очень много всего, мог бы сделать универсальную систему для всех случаев, но она была бы очень большой, мне просто жалко своего времени на это, для себя сделал то, что требовалось, мне достаточно. Опиши свою ситуацию, куда тебе нужна Змеиная ловкость, действующая и на заклинания, тогда могут быть советы по trigger 000. Во-вторых, в trigger 001 указано случайное срабатывание защиты от магии, примерно как я описывал выше, только немного иначе выглядят:
так как у меня подразумевается, что на карте только один юнит обладает Змеиной ловкостью от заклинаний, то я его и указываю, иначе может понадобиться использовать переменные для юнитов. В действиях идёт проверка на уровень Змеиной ловкости и выставлении шанса на срабатывание промаха заклинания. Если шанс выпал, то герою добавляется Защита от магии от Амулета защиты, но только моя версия этой способности, чтобы не было потом конфликтов с этим предметом у Верховного мага. При этом trigger 001 отключается, чтобы не сработал повторно до того, как в героя способность прилетит, а то вдруг кто-то ещё направит в героя заклинание, вторая Защита от магии ему добавится что ли? Вместе с отключением trigger 001 включается trigger 002, тут отлавливается срабатывание моей Защиты от магии и добавляется всплывающий текст "промах". Как бы понятно, что раз Защита от магии сработала, значит заклинание попало, там воспроизводится соответствующий игровой звук, триггер отключается, защита от магии убирается и опять запускается trigger 001, чтобы ловить дальше заклинания и считать шанс на промах, ну а потом всплывающий текст. В этом случае, если кто-то издалека направил на героя заклинание, и оно получило шанс на промах, trigger 001 отключился, а кто-то рядом тоже направил заклинание, и оно долетело первым, то первое заклинание промахнётся, trigger 001 включится и будет считать шансы на промах заклинаний, но, направленное издалека заклинание в теории долетит и не промахнётся, так как Защиты от магии уже не будет, а шанс на промах для него уже успешно выпал. Если враги не бьют способностями постоянно, то это не критично, но если монстры нападают массово и атакуют способностями с кулдауном 0,1 секунда, то это будет ощутимо. А вот со всплывающим текстом у меня не очень получилось, промах обычный всплывает над тем, кто промахнулся, но как сделать промах от заклинателя, если произошла описанная выше ситуация, когда для одного заклинания срабатывает шанс на промах, а им пользуется другое более быстрое заклинание? Я не знаю. Недавно тут задавался подобный вопрос, я его не посмотрел, правда, но думаю, что там используются не те триггеры, которыми владею. Как вариант можно делать текст не "промах", а "промах магии" над героем со Змеиной ловкостью.
ответ
Steal nerves:
что-то не вижу на скрине как вы пытаетесь запихнуть в if/then/else. Почему должен угадывать
Предположение: ошибка - локальные переменные объявляются всегда первыми. Если там будет какое-то другое действие, а объявление локалок ниже, то это ошибка. Ты вперед, наверное, поставил действие "if/then/else", а потом начал объявлять что-то там,
правильно
local unit u
if (условие) then
	действие
endif
не правильно
if (условие) then
	local unit u
endif
Локалки вначале функции всегда объявляются. Можете в код конвентировать и посмотреть.
вейты не юзайте лучше, используйте таймер. Он поток паузит, еще работает во время паузы, и не точен .
ответ
Вообще - работает наивысший показатель, ничего не суммируется и не складывается.
То что ты читал про формулу - скорее всего описывается метод сложения как в доте
Каждый следующий уменьшает шанс попадания на свой % от оставшегося
если у тебя есть 40% уворота, то шанс попадения по тебе 60%
если у тебя ещё есть 50% уворота, то шанс попадения на 50% (это 30%, а уворот 70%)
В доте организация была через абилку в ~20 уровней с шагом по 5%
уровень 1 - шанс 5%, уровень 2 - шанс 10% ... уровень 10 - шанс 50% ...
И значение округлялось в меньшую сторону (если высчитывается у тебя 62,5%, то будет 60%)
. . .
Ещё как вариант - отлавливать физ.атаки и делать промахи триггерно
У меня был практически рабочий вариант без косяков... но не срослось
А так вообще кто-то делал через мгновенные атаки дальнего боя с гашением об каменный доспех и нанесением урона по формулам от всех бонусов (через БД), ну тут сам понимаешь...
ответ
Поищи в игровом интерфейсе (главное окно редактора, сверху в меню полазь).

23

» WarCraft 3 / Своя подсветка функций

Похожие вопросы:

ответ
Не разбираюсь, но не вижу причин, почему было бы нельзя. Вопрос в том, надо ли для этого быть хакером или достаточно продвинутым юзером...

23

» WarCraft 3 / Как настроить шрифт в Jass?

Похожие вопросы:

ответ
Zeuz, Courier New
SomeFire, скорее всего он имеет ввиду шрифты джасс кода
настраивается кнопочкой Options при редактировании джасс кода

23

» WarCraft 3 / World Editor

Похожие вопросы:

ответ
ну все по стандарту - проверка на вирусы, проверка реестра, чистка реестра, дефрагментация диска, проверка диска, установка в другую директорию, откат на точку восстановления
ответ
nvc123, да, и я это уже понял
ответ
Вершины все правильно прикреплены к костям?
ответ
Не особо шарю, но :
-отключить антивирус
-переустанови jngp
ответ
Ну видимо хреново сделал, раз фаталит...

23

» WarCraft 3 / Позиционный звук

Похожие вопросы:

ответ
Я сравнил стандартный и свой звук. Обнаружил, что у меня 2 канала, у стандартного 1. Я перковертировал все свои звуки... Стало лучше, но часть звуков все равно не работает(
ответ
Оказывается, нужно было добавить Ждать перед Спецэффекты - Послать передачу.
ответ
заменять через локального игрока пустой путь на звук
ответ
предлагаю дамми-каст абилки в нужном месте с нужным звуком
я парился с этим вопросом еще в бытность форума, но потом отвлекся на другие дела

23

» WarCraft 3 / Импорт Модели Дерева

Похожие вопросы:

ответ
тему можно закрывать. ответ сам нашел.
ответ
Для каждого дерева нужны три модели: обычная, неактивная (с названием Doodads\Terrain\AshenTree\AshenTree0S.mdx, например) и неактивная разрушенная (Doodads\Terrain\AshenTree\AshenTree0D.mdx). У неактивных моделей должна быть только одна анимация — Stand. У первой — только деревце, у второй — только пенёк, соответственно.
Когда с деревом никто не взаимодействует, отображаются неактивные модели. Ты их не заменил, потому такая вот фигня.
Как сделать полноценно работающие деревья с моделями, не заменяющими стандартные, я не знаю. Возможно, никак.
ответ
Настраиваешь в РО дерево так чтобы у него была 1 вариация и там текстуру нужно к дереву прописать если она импортирована внимательно изучи все строки связанные с деревом как разрушенный объект.

23

» WarCraft 3 / Поворот Юнита

Похожие вопросы:

ответ
ответ
У меня кончились мыслИ. Привязку к точкам всё что могу тут предложить, а жаль...

ХОТЯ знаешь чё - осенило меня тут - создавай на позиции здания дамик с картой пути в виде буквы О. То есть само здание как бы без текстуры пути, а его огораживает дами с кольцевой текстурой. Таким образом здание никуда не убежит, зато сможет поворачиваться!

Прикрепляю пример. Только себе текстурку поплотнее сделай
ответ
проверка поворота юнита в таймере
иначе никак
ответ
Steal nerves:
перевод градусы в радианы, радианы в градусы
Ну чтобы перевести, из градусов в радианы
180° = pi радиан = 3,14...
Если знаешь расположение градусов в окружности (там 2pi = 360°, или pi/2 = 90°)
60° = pi/3 радиан = 3,14/3 = 1,0466
30° = pi/6 радиан = 3,14/6 = 0,5233
Или использовать готовую формулу
Angle to Radians => Angle *pi / 180 (формула)
pi/180 = 3,14/180 = 0,01744 (коэффициент, записан в варе в переменную-множитель bj_DEGTORAD)
_________________
Чтобы перевести из радиан в градусы
Использую формулу
Radians to Angle => Radians * 180 / pi
1 радиан = 57,32°
0,5 радиан = 0,5 * 180/3,14 = 28,6°
Используют точно также переменную-множитель bj_RADTODEG, но с другим названием. Там было Deg to Rad (перевести в радианы), здесь Rad to Deg (в градусы)
тут есть погрешности до десятичных, до сотых и более. Поэтому может не соответствовать. Это как пример. Считал сам. А вообще юзайте готовые переменные и не морочьте голову
код
local unit u = GetTriggerUnit()
local real a = GetUnitFacing(u) * bj_DEGTORAD //GetUitFacing возвращает параметры в градусы, поэтому нужно перевести в радианы
local real x = GetUnitX(u) + 100. * Cos(a)
local real y = GetUnitY(u) + 100. * Sin(a)
//потом то-то делаешь. x, y
xgm.guru/p/wc3/179127 тут есть пример карта, на гуи там, но переделать можно и на jass (там кастер двигается в ту сторону, куда смотрит). И пример в качестве кода, если нужно двигать относительно двух точек (сделал пример движение снаряда от Кастера к цели)
ответ
фиксировать угол при применении и постоянно выравнивать юнита при периодической проверке
если ставить скорость поворота 0 - у юнита начнутся проблемы с движением

23

» WarCraft 3 / Краши и вылеты из-за триггера.

Похожие вопросы:

ответ
Патиссончик, про центр области не заметил
точка каждый раз создаётся заново и это утечка
Патиссончик, есть прога на сайте для записи логов
так же есть дебаг через прелоад на сайте
вот счётчик утечек
ответ
Smart096, баг только в этой карте?
в новых картах бага нету?
если да то стоит проверить импортируемые модели и текстуры (мб часть битая)
но с вероятностью в 60% проблема в системе ибо было много жалоб на баги в вин10

23

» WarCraft 3 / Триггер союза

Похожие вопросы:

ответ
Cрабатывает при любом нанесенном уроне по союзнику
ответ
kjstilin, Изи же , вот лови
ответ
Отключение триггера не прерывает его и не отменяет. Лишь запрещает последующие выполнения.
Если действие выполнено, оно не будет отменено.
ответ
Fraps:
Интересно - потести. Много времени это, уверяю, не займёт.
Я этого никогда не проверял. Но раз вижн даётся, сообщения, по логике, тоже должны.

23

» WarCraft 3 / Тип склона

Похожие вопросы:

ответ
Хозяин Миров:
Hodorishe, ну во-первых, сделаем сохранение, прежде, чем менять. Во-вторых, выбираем ландшафт ТЦ, ставим галочку на нестандартности, удаляем всё, кроме того, что не удаляется (склоны), копируем из глуши все копируемые тайлы, расставляя их в том же порядке, что и были. Проверяем. У меня изменились только склоны.
Ну разве что с бездной проблемка возникла, ибо она и как склон, и как тайл.
ответ
Насколько мне известно, никак.
Но можно декорации нарисовать, прикрыв склоны.
ответ
Такая ерунда когда скачана обрезаная версия варика для игры в доту
Независимо от выбранного тайлсета будет летний лордерон на склонах.
ответ
Насколько мне известно - нельзя.

23

» WarCraft 3 / Помогите найти ворота

Похожие вопросы:

ответ
XGM Bot:
Похожие вопросы:

ответ
Поиск по сайту, если не нашлось, сперва сюда:
Потом сюда:

В следующий раз за такие темы будут варны.
ответ
Статьи по конвертации из других игр в самом низу
Тема для заказа на модели
ответ
Есть ссылка на подходящую тему: xgm.guru/p/wc3/needmodels
ответ
это Q/A
тут разрешены только вопросы
в следующий раз за заявки типа "сделайте мне что либо" пойдут варны
ответ
Уважаемый пользователь! Спешу вас предупредить что есть такая вещь как поиск, вот за 5 минут на сайте нашол:
Если еще немного покопатса на сайте в разделе декораций - можно нагрести кучу добра!
И вобще мой вам совет - научитесь минимальному моделингу: сможете клепать такие вещи за 3 минуты на коленке с необходимым вам видом, формой и текстурой.


23

» WarCraft 3 / Продажа юнита

Похожие вопросы:

ответ
Sucsonius, через скилы реализовать покупку/продажу юнитов(все действия описывать триггерно, а инфу показывать в мультибоарде)
ещё можно отдать дамми герою приказ на покупку и таким образом уменьшать
можно создать кучу зданий с разным количеством двенадцатого юнита и при необходимости сменить количество удалять здание и создавать новое возвращая выделение и количество юнитов с 1 по 11
можно сделать полноэкранную таверну с помощью дгуи
имхо последнее лучше всего будет
Sucsonius:
который обходит данную проблему
костыли не обходят проблему
они извращают всё таким образом что проблема не заметна на фоне этих костылей
если тебе надо обойти проблему то пиши новый вар3
ответ
Похоже, что никак. Смена владельца точно не помогает =)
ответ
Выбрать героя добавь еще.
ответ
Diaboliko, у предметов с этим бага
юзай юнитов
с ними намного проще
ответ
Поменяй обратно на здание, затем убери текстуру земли, затем смени назад на юнита.
Там графа просто плавающая.

23

» WarCraft 3 / Равкод 'A00\'

Похожие вопросы:

ответ
JNGP показывает. Также всё прописано в файлах в war3x.mpq вида units\****MetaData.slk.
ответ
Nickol, оригиналы удалить нельзя
они хранятся не в карте в mpq
если так хочешь то удаляй оригинал из слк таблицы в архивах игры

23

» WarCraft 3 / Продажа юнита

Похожие вопросы:

ответ
Sucsonius, через скилы реализовать покупку/продажу юнитов(все действия описывать триггерно, а инфу показывать в мультибоарде)
ещё можно отдать дамми герою приказ на покупку и таким образом уменьшать
можно создать кучу зданий с разным количеством двенадцатого юнита и при необходимости сменить количество удалять здание и создавать новое возвращая выделение и количество юнитов с 1 по 11
можно сделать полноэкранную таверну с помощью дгуи
имхо последнее лучше всего будет
Sucsonius:
который обходит данную проблему
костыли не обходят проблему
они извращают всё таким образом что проблема не заметна на фоне этих костылей
если тебе надо обойти проблему то пиши новый вар3
ответ
Похоже, что никак. Смена владельца точно не помогает =)
ответ
Выбрать героя добавь еще.
ответ
Diaboliko, у предметов с этим бага
юзай юнитов
с ними намного проще
ответ
Поменяй обратно на здание, затем убери текстуру земли, затем смени назад на юнита.
Там графа просто плавающая.

23

» WarCraft 3 / вопрос по удалению спецэффектов

Похожие вопросы:

ответ
koloff, только что проверил, если нет анимации death у эффекта, то он исчезает спустя несколько секунд после вызова функции DestroyEffect
ответ
Steal nerves:
void - это nothing то есть ничего не возвращает функция, а саму функции называют doTheThing, а unit u - аргументы функции, мануалы про cjass почитай (хотя я тоже соглашусь, что написано очень плохо в мануалах. Нужно попробовать немного самим пописать коды)
можно представить как (если хорошо понимаешь jass)
function doTheThing takes unit u returns nothing
... //что-то делаешь с юнитом u (берем аргумент функции - unit u)
endfunction
GetMyUnit - такой не существует, видимо Док имеет в виду подставить свою переменную
пример
например составил пример функции - определить уровень абилы юнита. Функция называется LV, u - юнит, id - целое число, равкод абилы. Возвращает целое число (уровень абилы).
function LV takes unit u, integer id returns integer
return GetUnitAbilityLevel(u, id)
endfunction 
'A000' - равкод абилы
local integer lv = LV(GetTriggerUnit(), 'A000') //узнаем уровень героя
и честно не понял вопрос темы?
ответ
Steal nerves, Я сделал с детектором бафа обычного лечение, здоровье восстанавливаю триггерно, забил на ауру.

23

» WarCraft 3 / Способность через триггер

Похожие вопросы:

ответ
Урон настраивается через уровень способности, или как было сказано unit - damage target
команда для использования нестандартной способности берется от той способности, на основе которой ты её сделал, и если это цепь тралла - Unit - issue order with targetign a unit - orc - chain lighting
ответ
И в правду рак мозга...
Статьи почитать не судьба? Некоторые предметные способности не повышают уровень - точнее эффект от повышения уровня не изменяется, посему делают 5 (100500) способностей с разными бонусами и выдаются юниту в нужный момент.
Способность маски соби - повышает базовый реген маны и бонус от интеллекта, так что крипам с 0 манарегена эта способность ничего не добавит.
ответ
Собственные попытки в студию, что не получается?
Напомним - ЭТО НЕ СТОЛ ЗАКАЗОВ, здесь задают вопросы про реализацию тех или иных вопросов, спрашивают про ошибки, оптмизацию, отдельные функции. Я не увидел в вашем вопросе ничего кроме невнятного описания механики способности, " вокргу кого то там огненные столбы возникают, и еще порча"...
ответ
возможные способности, господи, строчка выше, вы хотяб проверяли все сами а не ждали иисуса с небес
там даже подпись категории - способности
ответ
  1. тебе нужен не уровень героя, а уровень способности
  2. здоровье нужно устанавливать на текущее здоровье триггеринг юнит + нужное число + уровень способности твоей абилы умножить на нужное число (там сам смотри, сколько она дамажит)
  3. убери вейт, нормальный таймер ты все равно сейчас не раскуришь, пусть хилит мгновенно после каста, чуть некрасиво, зато относительно нормальный код получится
//////////
  1. в идеале вообще любой такой отхил элементарно делается на вешание событий получения урона кому надо и при них и отхил наносящего, там как раз и отхилится именно на сколько нанёс, а не как у тебя, но это ты имхо опять же еще не раскуришь

23

» WarCraft 3 / Как сделать стандартного воина героем?

Похожие вопросы:

ответ
В этом архиве ищи свои скиллы, в [скобках] смотри нужный ID.
ответ
Ладно, поставил разрешение в Варке на максимум, более или менее нормальный масштаб миникарт получается, всем спасибо за попытки помочь.
ответ
Уже решил.для тех кто будет искать данный вопрос - можно использовать свиток регенерации(Раса:люди),он игнорирует сколько у вас хп и имеет длительность.
ответ
Создаешь триггер, в событие ставишь период и в действия - изменение переменной. Хз в чём тут может быть трабл. Событие - "время - periodic", Действие - "set variable". Или как-то так. Первое найти легко, там список всего ничего, а второе так и вовсе четвертая строчка (если не ошибаюсь).
Совсем забыл - xgm.guru/p/wc3/articles
ответ
BrEd Pitt:
Событие - Игрок Сохраняет игру
Действие - Set Defeat from picked player
В принципе это не запрещает, но является для игрока невыгодным.

23

» WarCraft 3 / Погрузить на корабль

Похожие вопросы:

ответ
Хеш-таблица в которую ты будешь запоминать всех кто сел на корабль или группа. Короче, любое место в котором можно хранить несколько юнитов. При погружении на корабль, запоминаешь юнита. Удаляешь его из игры. Потом в нужный момент моздаешь такого же.Или просто выгружаешь и скрываешь, в нужный момент потом просто передвинуть и показать этого юнита. Вот и все...
ответ
через переменную случайное число

23

» WarCraft 3 / вопрос по моделированию

Похожие вопросы:

ответ
Делается ось через ось.
когда одна вращается по Х другая может по У и так далее
ответ
перекрась через фотошоп
Вот упрощённая онлайн версий:
Но для начала переведи текстуру в формат jpg\png, далее волшебной палочкой двойным щелчком повыделяй нужный\ нужные тебе сегменты для перекраски. Залей их нужным тебе цветом. Сохрани в png. Экспортируй png => blp.
И всё!
Всё что тебе понадобится: скаченный BLP laboratory, war3ModelEditor
и pixlr.com/editor/?loc=ru?loc=ru
ответ

23

» WarCraft 3 / Глобальная карта

Похожие вопросы:

ответ
Zeuz:
DazzleFirst, возможно ли как то создать локальный триггер при применении способности и уничтожить обратно?
ведь обычно локальные триггеры как правило при применении способности создаются в инициализации карты...
нет нужды выделять еще один триггер (помимо отлова) на заклинание, если оно не слишком громоздкое в плане исполнения.
Как сообщает товарищ nvc123:
Zeuz, лучше не использовать много триггеров
вообще нету такой ситуации в которой надо много триггеров
стоит обратить на это внимание.
Везде и всюду есть свои нюансы которые нужно учитывать. Если не выполнить задуманное с помощью одного триггера, то делаем два.
ответ
Megacomp, это не джасс а вджасс
проверь включен ли у тебя джассхелпер
так же не забывай что перед тем как нажать "проверка карты" карту нужно сохранить
ответ
Ну можно координаты камеры игрока. Но там нужен синк в кеше, чтобы небыло десинха, а это уже ни ГУИ.
Вот примитивный пример получение и сохранения координат камеры игрока:
scope PlayerRelated initializer InitPlayers

    globals
        force AllPlayers = null
        trigger gg_trg_PlayerLeft = null
        playerevent bj_enumPlayerEventId = null
        player array PL
        gamecache data
    endglobals

    function TriggerRegisterPlayerEventEnum takes nothing returns nothing
        call TriggerRegisterPlayerEvent( bj_destInRegionDiesTrig, GetEnumPlayer( ), bj_enumPlayerEventId )
    endfunction
    
    function TriggerRegisterForceEvent takes trigger trig, force forforce, playerevent id returns nothing
        set bj_destInRegionDiesTrig = trig
        set bj_enumPlayerEventId = id
        call ForForce( forforce, function TriggerRegisterPlayerEventEnum )
    endfunction
 
    function Trig_Player_Left_Actions takes nothing returns nothing
        call ForceRemovePlayer( AllPlayers, GetTriggerPlayer( ) )
    endfunction
    
    function IsSlotPlayer takes player pl returns boolean
        return GetPlayerSlotState( pl ) == PLAYER_SLOT_STATE_PLAYING and GetPlayerController( pl ) == MAP_CONTROL_USER
    endfunction
    

    function InitPlayers takes nothing returns nothing
        set AllPlayers = CreateForce( )
        set gg_trg_PlayerLeft = CreateTrigger( )
        set data = InitGameCache( "Data.w3v" )
        
        set bj_forLoopAIndex = 0
        
        loop
        
            exitwhen bj_forLoopAIndex > bj_MAX_PLAYERS
        
            set PL[bj_forLoopAIndex] = Player( bj_forLoopAIndex )
            if IsSlotPlayer( PL[bj_forLoopAIndex] ) then
                call ForceAddPlayer( AllPlayers, PL[bj_forLoopAIndex] )
                call TriggerRegisterPlayerEvent( gg_trg_PlayerLeft, PL[bj_forLoopAIndex] , EVENT_PLAYER_LEAVE )
            endif
        
            set bj_forLoopAIndex = bj_forLoopAIndex + 1
        endloop
    
        call TriggerAddAction( gg_trg_PlayerLeft, function Trig_Player_Left_Actions )
    
    endfunction
endscope

function Trig_Get_Player_Screen_Cord_Conditions takes nothing returns boolean
    return true
endfunction

function Trig_Get_Player_Screen_Cord_Actions takes nothing returns nothing
    local player pl = GetTriggerPlayer( )
    local real dx = 0.00
    local real dy = 0.00

    
    if GetLocalPlayer( ) == pl then
        set dx = GetCameraEyePositionX( )
        set dy = GetCameraEyePositionY( )
    else
        set dx = 0.00
        set dy = 0.00
    endif

    call StoreReal( data, "Cord", "X", dx )
    call StoreReal( data, "Cord", "Y", dy )
    
    call TriggerSyncStart( )
    
    if GetLocalPlayer( ) == pl then
        call SyncStoredReal( data, "Cord", "X" )
        call SyncStoredReal( data, "Cord", "Y" )
    endif
    
    call TriggerSleepAction( 2.00 )

    call TriggerSyncReady( )
    
    set dx = GetStoredReal( data, "Cord", "X" )
    set dy = GetStoredReal( data, "Cord", "Y" )
    
    // далее делаем с коорданатами камеры что хочется!
    call PingMinimapEx( dx, dy, 3.00, 255, 255, 255, true )

endfunction

//===========================================================================
function InitTrig_Get_Player_Screen_Cord takes nothing returns nothing
    set gg_trg_Get_Player_Screen_Cord = CreateTrigger( )
    
    set bj_forLoopAIndex = 0
    
    loop
        exitwhen bj_forLoopAIndex > bj_MAX_PLAYERS
    
        if IsPlayerInForce( PL[bj_forLoopAIndex], AllPlayers ) then
            call TriggerRegisterPlayerChatEvent( gg_trg_Get_Player_Screen_Cord, PL[bj_forLoopAIndex], "-GetCord", true )
        endif
    
        set bj_forLoopAIndex = bj_forLoopAIndex + 1
    endloop
    
    call TriggerAddCondition( gg_trg_Get_Player_Screen_Cord, Condition( function Trig_Get_Player_Screen_Cord_Conditions ) )
    call TriggerAddAction( gg_trg_Get_Player_Screen_Cord, function Trig_Get_Player_Screen_Cord_Actions )
endfunction
ответ
Всё, разобрался, вопрос снимаю)
ответ
ScopteRectuS, Переменные инициализируются при инициализации карты, она же вроде как глобальная udg_HeroGFL_owner. Или в коде карты насильно инициализировать?
Они же не локалки
ScopteRectuS, м, реально null возвращает боевая единицы. Смешно. Окей: И как ему определить созданную во время игры боевую единицу?

23

» WarCraft 3 / Область с воздействием на юнита

Похожие вопросы:

ответ
Это из-за физического размера выбираемых воинов.
Если хотите сделать способность, которая будет работать также, как и стандартные, то при выборе воинов в качестве радиуса указываете нужный радиус + максимально возможный физический размер воинов на карте.
// 	Если перебор воинов идёт через цикл:
	call GroupEnumUnitsInRange( group, x, y, SPELL_RADIUS + MAX_COLLIZION_SIZE, boolexpr )
	loop
//		...
		set enumUnit = FirstOfGroup( group )
//		...
		if IsUnitEnemy( enumUnit, player ) and IsUnitInRangeXY( enumUnit, x, y, SPELL_RADIUS ) then
			call DoSomething( )
		endif
//		...
	endloop
Как показано выше, с помощью функции IsUnitInRange( ) мы можем отсеять воинов, которые не попали в радиус действия способности, но были выбраны в группу из-за того, что мы указали в функции GroupEnumUnitsInRange( ) радиус чуть больше нужного нам.

23

» WarCraft 3 / Что не так с моделями?

Похожие вопросы:

ответ
Вот правильные пути:
baal.blp
Baal.mdx
Baal_portrait.mdx
То есть просто названия файлов должны быть путями.
ответ
Свершылось... Заработало...
Вот оно.

Описание проверки:
  • проверил в редакторе, он просто вылетает при попытке настройки в РО;
  • переконвертировал в .mdl и осмотрел, все норм;
  • открыл в War3ModelEditore, удалил лишние текстуры, материалы, настроил анимации геосетов;
  • профит.
Если кто не верит, вот скрин.
ответ
Выбрать героя добавь еще.
ответ
Viktor19:
Путь текстуры правильно указал?
да, сейчас вообще обратил внимание что текстуры идущие в комплекте не воспринимаются почему-то, а именно "Shield.blp".
Все равно проблема не решилась, вроде бы смог заменить текстуру, которую не видел но варик не воспринимает модель.
1